﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using System.Reflection;

namespace Unis.ORM.Mapping
{
    public class FieldPropertyInfo
    {
        // Fields
        private bool _AutoIncrease;
        private DbType _DbType;
        private Type _DeclaringType;
        private object _DefaultValue;
        private string _FieldName;
        private bool _IsReferenceObject;
        private bool _IsSubObject;
        private PropertyInfo _PropertyInfo;
        private string _PropertyName;
        private int _Step = 1;

        // Properties
        public bool AutoIncrease
        {
            get
            {
                return this._AutoIncrease;
            }
            set
            {
                this._AutoIncrease = value;
            }
        }

        public DbType DbType
        {
            get
            {
                return this._DbType;
            }
            set
            {
                this._DbType = value;
            }
        }

        public Type DeclaringType
        {
            get
            {
                return this._DeclaringType;
            }
            set
            {
                this._DeclaringType = value;
            }
        }

        public object DefaultValue
        {
            get
            {
                return this._DefaultValue;
            }
            set
            {
                this._DefaultValue = value;
            }
        }

        public string FieldName
        {
            get
            {
                return this._FieldName;
            }
            set
            {
                this._FieldName = value;
            }
        }

        public bool IsReferenceObject
        {
            get
            {
                return this._IsReferenceObject;
            }
            set
            {
                this._IsReferenceObject = value;
            }
        }

        public bool IsSubObject
        {
            get
            {
                return this._IsSubObject;
            }
            set
            {
                this._IsSubObject = value;
            }
        }

        public PropertyInfo PropertyInfo
        {
            get
            {
                return this._PropertyInfo;
            }
            set
            {
                this._PropertyInfo = value;
            }
        }

        public string PropertyName
        {
            get
            {
                return this._PropertyName;
            }
            set
            {
                this._PropertyName = value;
            }
        }

        public int Step
        {
            get
            {
                return this._Step;
            }
            set
            {
                this._Step = value;
            }
        }
    }
}
